package com.muyu.user.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.page.PageReq;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 用户管理请求参数实体类
 *
 * @author <a href="mailto:1416681852@qq.com">liuguoqiang</a>
 * @version 1.0
 * @description: 用户管理请求参数实体类
 * @date 2025/9/14 21:52
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SysUserPageReq extends PageReq {
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 手机号码
     */
    private String phonenumber;
    /**
     * 用户等级ID
     */
    private Integer levelId;
    /**
     * 国家
     */
    private String country;
    /**
     * 消费次数
     */
    private Integer consumptionCount;
    /**
     * 创建时间
     */
    @JsonFormat(locale = "yyyy-MM-dd",timezone = "GTM+8")
    private Date createTime;
    /**
     * 最后登录时间
     */
    @JsonFormat(locale = "yyyy-MM-dd",timezone = "GTM+8")
    private Date loginDate;
    /**
     * 用户性别（0男 1女 2未知）
     */
    private Integer sex;
    /**
     * 是否为推广员（0否 1是）
     */
    private Integer isPromoter;
    /**
     * 省份
     */
    private String provinceCode;
    /**
     * 市
     */
    private String cityCode;
    /**
     * 区
     */
    private String districtCode;
    /**
     * 注册类型（0 =微信公众号、1 =微信小程序、2 =H5、3 =PC、4 =APP）
     */
    private Integer registrationType;

    /**
     * 搜索关键词（姓名或手机号）
     */
    private String searchKeyword;

    /**
     * 用户分组ID
     */
    private Long groupId;

    /**
     * 用户标签ID
     */
    private Long tagId;

    /**
     * 消费情况
     */
    private Integer consumptionStatus;

    /**
     * 开始时间
     */
    @JsonFormat(locale = "yyyy-MM-dd",timezone = "GTM+8")
    private String startTime;

    /**
     * 结束时间
     */
    @JsonFormat(locale = "yyyy-MM-dd",timezone = "GTM+8")
    private String endTime;

    /**
     * 访问情况（0全部 1今日 2本周 3本月 4长期未访问 5从未访问）
     */
    private Integer visitStatus;

}
